﻿using System;
using System.Collections;
using System.Collections.Specialized;
using System.Collections.Generic;
using System.Text;
using System.Data;
using DataBaseManager;
using Utilities.Common;


using BL.DataAccess;
namespace BL.Entities
{
    [TableName("Intervenciones")]
    public partial class Intervenciones
    {
        #region Propiedades
        [IsId]
        public Int32 IdIntervencion { get; set; }
        public Int32 Matricula { get; set; }
        public String Nombre { get; set; }
        public String Apellido { get; set; }
        public String NumeroAfiliado { get; set; }
        public String NombreAfiliado { get; set; }
        public String ApellidoAfiliado { get; set; }
        public Int32 IdPrestacion { get; set; }
        public String Elemento { get; set; }
        public String Cara { get; set; }
        public String NombreObraSocial { get; set; }
        public Double Arancel { get; set; }
        public String Estado { get; set; }
        public String Abonada { get; set; }
        public String Fecha { get; set; }
        public String Detalle { get; set; }
        public String Activa { get; set; }
        public bool Refacturacion { get; set; }
     

        //Si se llega a poder modificar el precio de la prestacion tendriamos que agregar precio tambien.....

        #endregion
        public void SaveUpdate()
        {
//            ParameterManager pM = new ParameterManager();
//            // pM.Add("IdIntervencion", this.IdIntervencion);
//            pM.Add("Matricula", this.Matricula);
//            pM.Add("NumeroAfiliado", this.NumeroAfiliado);
//            if (this.Elemento != null)
//            {
//                pM.Add("Elemento", this.Elemento);
//            }
//            if (this.Cara != null)
//            {
//                pM.Add("Cara", this.Cara);
//            }
//            pM.Add("NombreObra", this.NombreObraSocial);
//            pM.Add("Fecha", this.Fecha);
//            pM.Add("idPrestacion", this.IdPrestacion);
//#warning cambiar el tipo de Abonada a bool.

//            pM.Add("Abonada", this.Abonada);
//            pM.Add("Estado", this.Estado);
            DataBase.Current.ExecuteSQL("Update Intervenciones set  Matricula = " + this.Matricula + ",NumeroAfiliado = " + this.NumeroAfiliado + ",Elemento = " + this.Elemento + ",Cara = " + this.Cara + ",NombreObra = " + this.NombreObraSocial + ",Fecha = " + this.Fecha + ",IdPrestacion = " + this.IdPrestacion + ",Abonada = " + this.Abonada + ",Estado = " + this.Estado + " WHERE IdIntervencion="+this.IdIntervencion+"");
            

        }
        
        /// <summary>
        ///Guarda nuevas intervenciones, no hace el update 
        /// </summary>
        public void Save() {
           // DataBase.Current.Save(this);            
            ParameterManager pM= new ParameterManager();
           // pM.Add("IdIntervencion", this.IdIntervencion);
            pM.Add("Matricula",this.Matricula);
            pM.Add("NumeroAfiliado",this.NumeroAfiliado );
            if (this.Elemento != null)
            {
                pM.Add("Elemento", this.Elemento);
            }
            if (this.Cara != null)
            {
                pM.Add("Cara", this.Cara);
            }
            pM.Add("NombreObra",this.NombreObraSocial );
            pM.Add("Fecha", this.Fecha);
            pM.Add("idPrestacion", this.IdPrestacion);
            


#warning cambiar el tipo de Abonada a bool.
            
            pM.Add("Abonada", bool.Parse(this.Abonada)  );
            pM.Add("Estado", this.Estado );
            pM.Add("Activa", this.Activa);
            pM.Add("Arancel", this.Arancel);

            pM.Add("Refacturacion", this.Refacturacion.ToString());
            DataBase.Current.Insert(Tables.Intervenciones, pM);

        }
    }
}
